from aiogram import Bot, types


async def download_telegram_video(
        message: types.Message,
        bot: Bot,
        path: str | None = None
) -> str | None:
    """
    Скачиваем видео из телеграм.

    ----
    :param message: Сообщение телеграм.
    :param bot: Экземпляр бота.
    :param path: Путь сохранения видео.
    :return: Путь к скачанному файлу.
    """
    if message.document:
        file_id = message.document.file_id
        file_name = message.document.file_name
    elif message.video:
        file_id = message.video.file_id
        file_name = message.video.file_name
    else:
        return None
    file = await bot.get_file(file_id=file_id)
    await bot.download_file(file_path=file.file_path,
                            destination=path or file_name)
    return path or file_name


async def download_torrent_file():
    # TODO: реализовать скачивание торрент файла.
    ...
